我使用的ElasticSearch是2.3.3版本,同步数据库使用插件是elasticsearch-jdbc-2.3.3.0,这里请注意,针对ElasticSearch版本需要使用对应的插件.下面是插件下载地址.
https://github.com/jprante/elasticsearch-jdbc
环境变量配置
安装好ElasticSearch后,将下载的插件放到你喜欢的任意盘中(不需要安装).
然后配置环境变量,在系统变量中新增一个变量,名字自定义(路径指向你的插件地址)
这个插件有点坑的地方就是你同步数据库的时候需要使用jdk1.8,然后同步完后可以将环境变量改成你原来的jdk版本。但是不能卸载,不然同步就会停止。
脚本文件编写
安装完JDK1.8后在任意盘创建一个文件夹,创建一个.sh后缀文件,同步执行的就是这个shell脚本文件。内容如下(贴上的代码显示不正常,就使用图片了):
图片橘黄色部分是你新增环境变量名字。最后一行的statefile.json文件新增在这个执行文件同一路径下。代码内容如下:
{
“type” : “jdbc”,
“jdbc”: {
“schedule”: “0/20 0-59 0-23 ? * *”,
“elasticsearch.autodiscover”:true,
“elasticsearch.cluster”:”elasticsearch”,
“driver”:”com.mysql.jdbc.Driver”,
“url”:”jdbc:mysql:localhost:3306/topic_test2”,
“user”:”“,
“password”:”“,
“sql”:”select v.id as _id,v.id as id,v.name as name,unix_timestamp(v.createTime) as createTime from videoInfo v”,
“elasticsearch” : {
“host” : “10.0.1.2”,
“port” : 9300
},
“index” : “original”,
“type” : “original”
}
}
其中schedule指的是同步刷新的时间间隔,可以指定多长时间同步一次。有关schedule的参数配置可以点击下面路径